#include <stdio.h>

int getMax(int byte[]){
	int max;

	for(int i=0;i<3;i++){
		for(int j=i+1;j<4;j++){
			if(byte[i]<byte[j]){
				int t=byte[i];
				byte[i] = byte[j];
				byte[j] = t;
			}
		}

	}
	// printf(" sort byte is  %d  %d  %d  %d\n",byte[0],byte[1],byte[2],byte[3]);
	// printf("<<<<<<<<<<<<<<<<<\n");	
	max = byte[0]*1000+byte[1]*100+byte[2]*10+byte[3];

	return max;
}

int getMin(int byte[]){
	int min;


	for(int i=0;i<3;i++){
		for(int j=i+1;j<4;j++){
			if(byte[i]>byte[j]){
				int t=byte[i];
				byte[i] = byte[j];
				byte[j] = t;
			}
		}

	}
	// printf(" sort byte is  %d  %d  %d  %d\n",byte[0],byte[1],byte[2],byte[3]);
	// printf(">>>>>>>>>>>>>>>>>\n");	
	min = byte[0]*1000+byte[1]*100+byte[2]*10+byte[3];


	return min;	
}

int main(){
	int a = 0;

	int max;
	int min;
	scanf("%d",&a);

	for(int i=0;i<7;i++){
		printf("the num:%d\n",a);
		if(a<10){
			a=a*1000;
		}
		else if(a<100){
			a = a*100;
		}else if(a<1000){
			a=a*10;
		}
		printf("deal num:%d\n",a);


	int byte[4]={0};

	byte[0]=a/1000;
	byte[1]=a/100%10;
	byte[2] = a/10%10;
	byte[3] = a%10;
	// printf(">>>>>>>>>>>>>>>>>\n");	

	// printf("byte is  %d  %d  %d  %d\n",byte[0],byte[1],byte[2],byte[3]);

		if(a == 6174){
			printf("bingo!!!\n");
			break;
		}
		max = getMax(byte);
		min = getMin(byte);

		printf("the max:%d\n",max);
		printf("the min:%d\n",min);
		a=max-min;

		

	}
	

	return 0;
}